export default {
  data() {
    return {
      XyPageFlag: true,
    }
  },
  mounted() {
    // 首次进入页面监听浏览器的返回按钮
    if (window.history && window.history.pushState) {
      this.XyPageFlag = false;
      history.pushState(null, null, document.URL);
      window.addEventListener('popstate', this.backPage, false); //false阻止默认事件
    }
  },
  activated() {
    // 第二次重新进入缓存的组件重新给浏览器返回添加监听
    if (window.history && window.history.pushState && this.XyPageFlag) {
      this.XyPageFlag = true;
      history.pushState(null, null, document.URL);
      window.addEventListener('popstate', this.backPage, false); //false阻止默认事件
    }
  },
  // 组件销毁时取消监听
  destroyed() {
    this.XyPageFlag = true;
    window.removeEventListener('popstate', this.backPage, false); //false阻止默认事件
  },
  // 离开缓存页面的时候取消监听
  deactivated() {
    this.XyPageFlag = true;
    window.removeEventListener('popstate', this.backPage, false); //false阻止默认事件
  }
}